MFC 基于CView的应用程序添加滚动条 您所在的位置:网站首页 滚动条自动滚动 MFC MFC 基于CView的应用程序添加滚动条

MFC 基于CView的应用程序添加滚动条

2024-02-01 15:28| 来源: 网络整理| 查看: 265

当需要在基于CView的应用程序中添加滚动条,需要手工做以下两个步骤:

1. 查找视图的头文件和CPP文件,将所有出现的CView修改为CScrollView,除了在函数参数列表中出现饿CView*。

2. 如果还没有覆盖的话就要覆盖OnInitialUpdate(重载),并插入对SetScrollView的调用。

如果进行了第一步而忘记了第二步,在运行程序的时候会报错,具体看下面的例子:

 

重载函数OnInitialUpdate

void CRMBProjectView::OnInitialUpdate(){ CScrollView::OnInitialUpdate(); CClientDC dc(this); int m_nCellWidth = dc.GetDeviceCaps(LOGPIXELSX); int m_nCellHeigh = dc.GetDeviceCaps(LOGPIXELSY) / 4; int m_nRibbonWidth = m_nCellWidth / 2; int nWidth = (26 * m_nCellWidth) + m_nRibbonWidth; int nHeight = m_nCellHeigh * 100; SetScrollSizes(MM_TEXT,CSize(nWidth,nHeight));

 // TODO: Add your specialized code here and/or call the base class}

动态生成滚动条的大小

void CRMBProjectView::OnDraw(CDC* pDC){ CRMBProjectDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);  sizeTotal.cx = pDoc ->width * 2 + 20;  sizeTotal.cy = pDoc->height;  SetScrollSizes(MM_TEXT,sizeTotal);    }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有